cmake_minimum_required(VERSION 3.10)
project(OpenMPStudy CXX)

find_package(OpenMP REQUIRED)


add_executable(ompparal ompparal.cpp)
target_link_libraries(ompparal PRIVATE OpenMP::OpenMP_CXX)


add_executable(ompfor ompfor.cpp)
target_link_libraries(ompfor PRIVATE OpenMP::OpenMP_CXX)


add_executable(ompprivate ompprivate.cpp)
target_link_libraries(ompprivate PRIVATE OpenMP::OpenMP_CXX)

add_executable(ompfirstprivate ompfirstprivate.cpp)
target_link_libraries(ompfirstprivate PRIVATE OpenMP::OpenMP_CXX)

add_executable(omplastprivate omplastprivate.cpp)
target_link_libraries(omplastprivate PRIVATE OpenMP::OpenMP_CXX)

add_executable(ompsections ompsections.cpp)
target_link_libraries(ompsections PRIVATE OpenMP::OpenMP_CXX)


add_executable(ompreduce ompreduce.cpp)
target_link_libraries(ompreduce PRIVATE OpenMP::OpenMP_CXX)



add_executable(ompsingle ompsingle.cpp)
target_link_libraries(ompsingle PRIVATE OpenMP::OpenMP_CXX)



add_executable(ompmaster ompmaster.cpp)
target_link_libraries(ompmaster PRIVATE OpenMP::OpenMP_CXX)



add_executable(ompbarrier ompbarrier.cpp)
target_link_libraries(ompbarrier PRIVATE OpenMP::OpenMP_CXX)


add_executable(ompnowait ompnowait.cpp)
target_link_libraries(ompnowait PRIVATE OpenMP::OpenMP_CXX)


add_executable(ompcritical ompcritical.cpp)
target_link_libraries(ompcritical PRIVATE OpenMP::OpenMP_CXX)



add_executable(ompautomic ompautomic.cpp)
target_link_libraries(ompautomic PRIVATE OpenMP::OpenMP_CXX)



add_executable(ompschedule ompschedule.cpp)
target_link_libraries(ompschedule PRIVATE OpenMP::OpenMP_CXX)
